package com.itheima.d07_junit_annotation;

import org.junit.*;

/**
 * 目标：了解单元测试常用测试方法
 */
public class StringUitlsTest {
    StringUtils utils ;

    @BeforeClass
    public static void beforeClass() {
        System.out.println("开始测试，加载测试需要使用的资源");
    }

    @AfterClass
    public static void afterClass() {
        System.out.println("测试结束，释放测试需要使用的资源");
    }

    @Before
    public void before() {
        System.out.println("开始测试一个方法");
        utils = new StringUtils();
    }

    @After
    public void after() {
        utils = null;
        System.out.println("测试一个方法结束");
    }

    @Test
    public void testReverseWithNormalString() {
        String result = utils.reverse("hello");
        Assert.assertEquals("本轮测试失败，正常数据测试失败，业务逻辑存在问题，请检查","olleh", result);
    }

    @Test
    public void testReverseWithEmptyString() {
        String result = utils.reverse("");
        Assert.assertEquals("本轮测试失败，空数据测试失败，业务逻辑存在问题，请检查","", result);
    }

    @Test
    public void testReverseWithNullString() {
        String result = utils.reverse(null);
        Assert.assertEquals("本轮测试失败，空数据测试失败，业务逻辑存在问题，请检查",null, result);
    }

}
